function setup_grid()
{
    var offsW = 19;
    var offsH = 85;

    var w = $('#content').innerWidth() - offsW;
    var h = $('#content').innerHeight() - offsH;

    $('#list').setGridHeight(h);
    $('#list').setGridWidth(w, true);
}

var no_setup_row = false;

function first_row_sel(data)
{
    if(!no_setup_row)
    {
        var row = $('#list tr:nth-child(2)').attr('id');

        $("#list").jqGrid().setSelection(row, true);
        no_setup_row = true;
    }
}

$(function() { 

  $("#list").jqGrid({
    url:'req/bck_list.php',
    editurl:'req/bck_edit.php', 
    datatype: 'json',
    mtype: 'GET',
    colNames:['Имя архива','Размер', 'Дата'],
    colModel :[ 
      {name:'name',sortable: false, editable: false }, 
      {name:'size',sortable: false, editable: false }, 
      {name:'date',sortable: false, editable: false }
    ],
    sortname: 'name',
    sortorder: 'desc',
    viewrecords: true,
    loadComplete: first_row_sel
  });

$("#backup-button" )
    .button()
    .click(function() {

    if(confirm('Выполнить архивацию данных ?'))
    {
        $.post('dumper.php?action=backup', {db_backup:database, comp_method:1, comp_level:9}, function(data)
          {
            var patt = /<SCRIPT>l\(\'Резервная копия БД \`\w+\` создана.\', 2\);<\/SCRIPT>/g;

            var res = patt.test(data);

            if (res)
            {
                alert('Резервная копия базы СДУ СО создана !');

                $('#list').trigger("reloadGrid");
            }
            else
            {
                alert('При создании резервная копия базы СДУ СО произошла ошибка !');
            }
         });
    }
});

$("#restore-button" )
    .button()
    .click(function() {

    var gr = $("#list").getGridParam('selrow'); 

    if( gr != null ) 
    {
        var data = $("#list").getRowData(gr);    
    }
    else 
    {
        alert("Выбирите файл для востановления !"); 
        return;
    }

    if(confirm('ВНИМАНИЕ !\n\nПро восстановление данных:\n1. Все данные с момента архивации будут потеряны.\n2. Пользователи и их профили не восстаналиваются.\n\nВыполнить восстановление данных ?'))
    {
        $.post('dumper.php?action=restore', {db_restore:database, file: data.name, data_filter:1 }, function(data)
          {
            var patt = /<SCRIPT>l\('БД восстановлена из резервной копии.', 2\);<\/SCRIPT>/g;

            var res = patt.test(data);

            if (res)
            {
                alert('База СДУ СО восстановлена !');

                $('#list').trigger("reloadGrid");
            }
            else
            {
                alert('При восстановлении копия базы СДУ СО произошла ошибка !');
            }
         });
    }
});

$("#del-button" ).button().click(function() 
{

       var gr = $("#list").getGridParam('selrow'); 

        if( gr != null ) 
        {
            $("#list").jqGrid('delGridRow',gr,{reloadAfterSubmit:true, modal: true, resize: false}); 
            first_row_sel();
        }
        else 
        {
            alert("Выберите файл для удаление !"); 
            return;
        }
    });

$("#upload-form" ).dialog({
            autoOpen: false,
            height: 'auto',
            width: 'auto',
            modal: true,
            resizable: false,

            buttons: {
                "Загрузить": function() {
                    var bValid = true;

                    $('#post-form').submit();

                },
                "Отмена": function() {
                    $( this ).dialog( "close" );
                }
            }
    });

$("#arch-upload-button" )
    .button()
    .click(function() {
        $("#upload-form" ).dialog('open');
    });

$("#download-button" )
    .button()
    .click(function() {
        if (confirm('Выгрузить архив ?'))            
        {
            var gr = $("#list").getGridParam('selrow'); 
                                                     
            if( gr != null ) 
            {
               location.href = location.href.substring(0,location.href.lastIndexOf("/")) + backup_path +'/'+gr;
            }
            else 
            {
                alert("Выберите файл для скачивания !"); 
                return;
            }
        }
    });

    setup_grid();

    $(window).resize(setup_grid);

});